/*
Package console
@Author   : Uyynot
@Email    : uyynot@qq.com
@Time     : 2024/4/12 15:08
@File     : console.go
@Project  : gohub
@Desc     :
*/
package console

import (
	"fmt"
	"github.com/mgutz/ansi"
	"os"
)

// colorOut
// @Description: 内部使用，设置高亮颜色
// @param msg
// @param color
func colorOut(msg string, color string) {
	fmt.Fprintln(os.Stdout, ansi.Color(msg, color))
}

// Success
// @Description: 打印成功消息，绿色输出
// @param msg
func Success(msg string) {
	colorOut(msg, "green")
}

// Error
// @Description: 打印错误消息，红色输出
// @param msg
func Error(msg string) {
	colorOut(msg, "red")
}

// Warning
// @Description: 打印警告消息，黄色输出
// @param msg
func Warning(msg string) {
	colorOut(msg, "yellow")
}

// Exit
// @Description: 打印一条报错信息，并退出程序
// @param msg
func Exit(msg string) {
	Error(msg)
	os.Exit(1)
}

// ExitIf
// @Description: 语法糖，自带err!=nil 判断
// @param err
func ExitIf(err error) {
	if err != nil {
		Exit(err.Error())
	}
}
